home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / pretty24.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  31KB  |  1,410 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9. /*No:RUN_FEATURE_6.use_current_state*/
  10. /*No:RUN_FEATURE_6.rescue_compound*/
  11. /*No:RUN_FEATURE_6.actuals_clients*/
  12. /*No:RUN_FEATURE_6.arguments*/
  13.  
  14.  
  15. void r342fe_vffd7(T342* C){
  16. r37add_position(X62start_position((C)->_result_type/*40*/));
  17. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms342_203984);
  18. r37fatal_error((T37*)(oBC11eh),b1);
  19. }/*]*/
  20. }
  21.  
  22.  
  23. void r342initialize(T342* C){
  24. C->_result_type=((T291*)((C)->_base_feature/*32*/))->_result_type/*56*/;
  25. C->_arguments=((T291*)((C)->_base_feature/*32*/))->_arguments/*24*/;
  26. /*[IF*/
  27. if(X62is_anchored((C)->_result_type/*40*/)){
  28. r342fe_vffd7(C);
  29. }
  30.  else if(X62is_formal_generic((C)->_result_type/*40*/)){
  31. r37add_position(X62start_position((C)->_result_type/*40*/));
  32. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms342_321828);
  33. r37fatal_error((T37*)(oBC11eh),b1);
  34. }/*]*/
  35. }
  36. /*FI]*/
  37. C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  38. /*[IF*/
  39. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  40. /*[IF*/
  41. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  42. {T171*n=malloc(sizeof(*n));
  43. *n=M171;
  44. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  45. C->_arguments=(T0*)n;
  46. }
  47. }
  48. /*FI]*/
  49. }
  50. /*FI]*/
  51. C->_local_vars=((T291*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
  52. /*[IF*/
  53. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  54. C->_local_vars=r162to_runnable((T162*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
  55. }
  56. /*FI]*/
  57. C->_routine_body=((T291*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
  58. /*[IF*/
  59. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  60. C->_routine_body=r200to_runnable((T200*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
  61. }
  62. /*FI]*/
  63. /*[IF*/
  64. if(r54require_check((T54*)(oBC11run_control))){
  65. C->_require_assertion=r291run_require((T0*)C);
  66. }
  67. /*FI]*/
  68. /*[IF*/
  69. if(r54ensure_check((T54*)(oBC11run_control))){
  70. C->_ensure_assertion=r291run_ensure((T0*)C);
  71. }
  72. /*FI]*/
  73. C->_rescue_compound=((T291*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
  74. /*[IF*/
  75. if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
  76. /*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
  77. /*]*/
  78. C->_rescue_compound=r200to_runnable((T200*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
  79. }
  80. /*FI]*/
  81. r339add_function((T0*)C);
  82. }
  83.  
  84.  
  85. T0* r342start_position(T342* C){
  86. T0* R=NULL;
  87. R=r291start_position((T291*)((C)->_base_feature/*32*/));
  88. return R;
  89. }
  90. /*No:RUN_FEATURE_6.require_assertion*/
  91. /*No:RUN_FEATURE_6.clients_memory*/
  92. /*No:RUN_FEATURE_6.ucs_not_computed*/
  93. /*No:RUN_FEATURE_6.current_type*/
  94.  
  95.  
  96. void r342add_client(T342* C,T0* a1){
  97. T2 _i=0;
  98. /*[IF*/
  99. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  100. {T319*n=malloc(sizeof(*n));
  101. *n=M319;
  102. r319with_capacity(n,4);
  103. C->_actuals_clients=(T0*)n;
  104. }
  105. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  106. }
  107. else{
  108. _i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
  109. /*[IF*/
  110. if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  111. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  112. }
  113. /*FI]*/
  114. }
  115. /*FI]*/
  116. r313add_client((T313*)(r342run_class(C)),a1);
  117. }
  118.  
  119.  
  120. T0* r342run_class(T342* C){
  121. T0* R=NULL;
  122. R=X62run_class((C)->_current_type/*4*/);
  123. return R;
  124. }
  125. /*No:RUN_FEATURE_6.result_type*/
  126. /*No:RUN_FEATURE_6.base_feature*/
  127. /*No:RUN_FEATURE_6.ensure_assertion*/
  128.  
  129.  
  130. void r342make(T342* C,T0* a1,T0* a2,T0* a3){
  131. C->_current_type=a1;
  132. C->_name=a2;
  133. C->_base_feature=a3;
  134. /*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r342run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
  135. /*]*/
  136. r42incr_magic_count((T42*)(oBC11small_eiffel));
  137. C->_use_current_state=15;
  138. r42push((T42*)(oBC11small_eiffel),(T0*)C);
  139. r342initialize(C);
  140. r42pop((T42*)(oBC11small_eiffel));
  141. }
  142. /*No:RUN_FEATURE_6.routine_body*/
  143. /*No:RUN_FEATURE_6.name*/
  144. /*No:RUN_FEATURE_6.local_vars*/
  145.  
  146.  
  147. T2 r342arg_count(T342* C){
  148. T2 R=0;
  149. /*[IF*/
  150. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  151. R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  152. }
  153. /*FI]*/
  154. return R;
  155. }
  156.  
  157.  
  158. T0* r342clients(T342* C){
  159. T0* R=NULL;
  160. T0* _bfbc=NULL;
  161. T0* _bc=NULL;
  162. /*[IF*/
  163. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  164. _bc=X62base_class((C)->_current_type/*4*/);
  165. _bfbc=((T291*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  166. /*[IF*/
  167. if((_bc)==((void*)(_bfbc))){
  168. R=((T291*)((C)->_base_feature/*32*/))->_clients/*20*/;
  169. }
  170. else{
  171. R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
  172. }
  173. /*FI]*/
  174. C->_clients_memory=R;
  175. }
  176. else{
  177. R=(C)->_clients_memory/*8*/;
  178. }
  179. /*FI]*/
  180. return R;
  181. }
  182.  
  183.  
  184. T6 r342is_exported_in(T342* C,T0* a1){
  185. T6 R=0;
  186. R=r83gives_permission_to((T83*)(r342clients(C)),a1);
  187. return R;
  188. }
  189. /*No:RUN_FEATURE_6.fatal_error*/
  190.  
  191.  
  192. T0* r255generic_list(T255* C){
  193. T0* R=NULL;
  194. r255fatal_error_generic_list(C);
  195. return R;
  196. }
  197.  
  198.  
  199. T0* r255base_class(T255* C){
  200. T0* R=NULL;
  201. T0* _bcn=NULL;
  202. _bcn=(C)->_base_class_name/*4*/;
  203. /*[IF*/
  204. if((_bcn)!=((void*)(NULL))){
  205. R=r49base_class(((T49*)_bcn));
  206. }
  207. else{
  208. /*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
  209. r7append((T7*)(oBC37explanation),b1);
  210. }/*]*/
  211. r37add_type((T0*)C,((T0*)ms12_47));
  212. r37print_as_fatal_error((T37*)(oBC11eh));
  213. }
  214. /*FI]*/
  215. return R;
  216. }
  217. /*No:TYPE_REAL.base_class_name*/
  218. /*No:TYPE_REAL.start_position*/
  219. /*No:TYPE_REAL.is_formal_generic*/
  220. int fBC255used_as_reference=0;
  221.  
  222.  
  223. void r255used_as_reference(void){
  224. if (fBC255used_as_reference==0){
  225. fBC255used_as_reference=1;
  226. r255load_ref(((T0*)ms13_7696));
  227. }}
  228.  
  229.  
  230. T6 r255is_a_in(T255* C,T0* a1,T0* a2){
  231. T6 R=0;
  232. T0* _ct=NULL;
  233. T0* _t2=NULL;
  234. T0* _t1=NULL;
  235. /*[IF*/
  236. if((r255written_mark())==((void*)(X62written_mark(a1)))){
  237. R=1;
  238. }
  239. else{
  240. _ct=(((T313*)a2))->_current_type/*0*/;
  241. _t1=r255to_runnable(C,_ct);
  242. _t2=X62to_runnable(a1,_ct);
  243. /*[IF*/
  244. if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
  245. R=1;
  246. }
  247. else{
  248. R=X62is_a(_t1,_t2);
  249. }
  250. /*FI]*/
  251. }
  252. /*FI]*/
  253. return R;
  254. }
  255. /*No:TYPE_REAL.id*/
  256. /*No:TYPE_REAL.is_pointer*/
  257.  
  258.  
  259. T0* r255look_up_for(T255* C,T0* a1,T0* a2){
  260. T0* R=NULL;
  261. R=r41look_up_for((T41*)(r255base_class(C)),a1,a2);
  262. return R;
  263. }
  264. /*No:TYPE_REAL.us_real_ref*/
  265.  
  266.  
  267. T0* r255to_runnable(T255* C,T0* a1){
  268. T0* R=NULL;
  269. R=(T0*)C;
  270. r255check_type(C);
  271. return R;
  272. }
  273. /*No:TYPE_REAL.us_double_ref*/
  274. /*No:TYPE_REAL.run_type*/
  275.  
  276.  
  277. T0* r255run_class(T255* C){
  278. T0* R=NULL;
  279. R=r42run_class((T0*)C);
  280. return R;
  281. }
  282.  
  283.  
  284. T6 r255has_creation(T255* C,T0* a1){
  285. T6 R=0;
  286. r37add_position(X65start_position(a1));
  287. r255error(/*(IRF4.6start_position*/(((T49*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms249_100044));
  288. return R;
  289. }
  290. /*No:TYPE_REAL.expanded_initializer*/
  291. /*No:TYPE_REAL.us_item*/
  292. /*No:TYPE_REAL.is_like_current*/
  293. /*No:TYPE_REAL.is_boolean*/
  294. /*No:TYPE_REAL.is_generic*/
  295. /*No:TYPE_REAL.is_bit*/
  296. /*No:TYPE_REAL.is_real*/
  297.  
  298.  
  299. T0* r255smallest_ancestor(T255* C,T0* a1){
  300. T0* R=NULL;
  301. T0* _rto=NULL;
  302. _rto=X62run_type(a1);
  303. /*[IF*/
  304. if(X62is_integer(_rto)){
  305. R=(T0*)C;
  306. }
  307.  else if(X62is_real(_rto)){
  308. R=(T0*)C;
  309. }
  310.  else if(X62is_double(_rto)){
  311. R=a1;
  312. }
  313. else{
  314. R=r257smallest_ancestor((T257*)(r255type_real_ref()),_rto);
  315. }
  316. /*FI]*/
  317. return R;
  318. }
  319. /*No:TYPE_REAL.is_any*/
  320. /*No:TYPE_REAL.nb_errors*/
  321.  
  322.  
  323. T0* r255run_time_mark(void){
  324. T0* R=NULL;
  325. R=((T0*)ms13_1208);
  326. return R;
  327. }
  328. /*No:TYPE_REAL.is_expanded*/
  329. /*No:TYPE_REAL.is_basic_eiffel_expanded*/
  330. int fBC11type_real_ref=0;
  331. T0*oBC11type_real_ref=NULL;
  332.  
  333.  
  334. T0* r255type_real_ref(void){
  335. if(fBC11type_real_ref==0){
  336. T0* _real_ref=NULL;
  337. fBC11type_real_ref=1;
  338. {T49*n=malloc(sizeof(*n));
  339. *n=M49;
  340. r49make(n,((T0*)ms13_7696),NULL);
  341. _real_ref=(T0*)n;
  342. }
  343. {T257*n=malloc(sizeof(*n));
  344. *n=M257;
  345. /*[IRF3.3make*/((((T257*)(n)))->_base_class_name)=(_real_ref);
  346. /*]*/
  347. oBC11type_real_ref=(T0*)n;
  348. }
  349. }
  350. return oBC11type_real_ref;}
  351. int fBC11type_double=0;
  352. T0*oBC11type_double=NULL;
  353.  
  354.  
  355. T0* r255type_double(void){
  356. if(fBC11type_double==0){
  357. fBC11type_double=1;
  358. {T251*n=malloc(sizeof(*n));
  359. *n=M251;
  360. r251make(n,NULL);
  361. oBC11type_double=(T0*)n;
  362. }
  363. }
  364. return oBC11type_double;}
  365. /*No:TYPE_REAL.is_string*/
  366. /*No:TYPE_REAL.is_integer*/
  367. /*No:TYPE_REAL.is_like_feature*/
  368. /*No:TYPE_REAL.fz_dot*/
  369. /*No:TYPE_REAL.is_anchored*/
  370. /*No:TYPE_REAL.is_run_type*/
  371.  
  372.  
  373. T6 r255is_a(T255* C,T0* a1){
  374. T6 R=0;
  375. /*[IF*/
  376. if((X62is_real(a1))||(X62is_double(a1))){
  377. R=1;
  378. }
  379.  else if(r41is_subclass_of((T41*)(r255base_class(C)),X62base_class(a1))){
  380. R=1;
  381. r255used_as_reference();
  382. }
  383.  else if((X62run_time_mark(a1))==((void*)(((T0*)ms13_10890)))){
  384. R=1;
  385. ((/*UT*/(void)((T251*)(r255type_double()))),r251used_as_reference());
  386. }
  387. /*FI]*/
  388. /*[IF*/
  389. if(!(R)){
  390. r37add_type((T0*)C,((T0*)ms12_17730));
  391. r37add_type(a1,((T0*)ms12_47));
  392. }
  393. /*FI]*/
  394. return R;
  395. }
  396. /*No:TYPE_REAL.is_character*/
  397. /*No:TYPE_REAL.is_reference*/
  398.  
  399.  
  400. T0* r255written_mark(void){
  401. T0* R=NULL;
  402. R=((T0*)ms13_1208);
  403. return R;
  404. }
  405.  
  406.  
  407. void r255error(T0* a1,T0* a2){
  408. r37add_position(a1);
  409. r37error((T37*)(oBC11eh),a2);
  410. }
  411.  
  412.  
  413. void r255make(T255* C,T0* a1){
  414. {T49*n=malloc(sizeof(*n));
  415. *n=M49;
  416. r49make(n,((T0*)ms13_1208),a1);
  417. C->_base_class_name=(T0*)n;
  418. }
  419. }
  420. /*No:TYPE_REAL.is_none*/
  421. /*No:TYPE_REAL.us_real*/
  422. /*No:TYPE_REAL.pretty_print*/
  423. /*No:TYPE_REAL.is_array*/
  424. /*No:TYPE_REAL.fz_inako*/
  425.  
  426.  
  427. void r255fatal_error_generic_list(T255* C){
  428. r37add_type((T0*)C,((T0*)ms62_29184));
  429. r37print_as_fatal_error((T37*)(oBC11eh));
  430. }
  431. /*No:TYPE_REAL.is_like_argument*/
  432.  
  433.  
  434. void r255load_ref(T0* a1){
  435. T0* _rf=NULL;
  436. T0* _rc=NULL;
  437. T0* _cn=NULL;
  438. {T49*n=malloc(sizeof(*n));
  439. *n=M49;
  440. r49make(n,a1,NULL);
  441. _cn=(T0*)n;
  442. }
  443. _rc=r41run_class((T41*)(r49base_class(((T49*)_cn))));
  444. r313set_at_run_time(((T313*)_rc));
  445. _rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_1764));
  446. }
  447. int fBC255check_type=0;
  448.  
  449.  
  450. void r255check_type(T255* C){
  451. if (fBC255check_type==0){
  452. T0* _rc=NULL;
  453. T0* _bc=NULL;
  454. fBC255check_type=1;
  455. _bc=r255base_class(C);
  456. /*[IF*/
  457. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  458. _rc=r255run_class(C);
  459. }
  460. /*FI]*/
  461. /*[IF*/
  462. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  463. /*[IF*/
  464. if(!((((T41*)_bc))->_is_expanded/*20*/)){
  465. r255error(/*(IRF4.6start_position*/(((T49*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms255_29722));
  466. }
  467. /*FI]*/
  468. }
  469. /*FI]*/
  470. }}
  471. /*No:TYPE_REAL.is_double*/
  472. /*No:FEATURE_CLAUSE_LIST.add_last*/
  473.  
  474.  
  475. void r77get_started(T77* C,T0* a1){
  476. T2 _i=0;
  477. _i=1;
  478. while (!((_i)>(((T79*)((C)->_list/*0*/))->_upper/*8*/))) {
  479. r78add_into((T78*)(r79item((T79*)((C)->_list/*0*/),_i)),a1);
  480. _i=(_i)+(1);
  481. }
  482. }
  483. /*No:FEATURE_CLAUSE_LIST.make*/
  484.  
  485.  
  486. void r77pretty_print(T77* C){
  487. T2 _i=0;
  488. _i=1;
  489. while (!((_i)>(((T79*)((C)->_list/*0*/))->_upper/*8*/))) {
  490. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(0);
  491. /*]*/
  492. r310indent((T310*)(oBC11fmt));
  493. /*[IF*/
  494. if(!(r310zen_mode((T310*)(oBC11fmt)))){
  495. r310skip((T310*)(oBC11fmt),1);
  496. }
  497. /*FI]*/
  498. r78pretty_print((T78*)(r79item((T79*)((C)->_list/*0*/),_i)));
  499. _i=(_i)+(1);
  500. }
  501. }
  502. /*No:FEATURE_CLAUSE_LIST.list*/
  503. /*No:FORMAL_GENERIC_LIST.start_position*/
  504. /*No:FORMAL_GENERIC_LIST.item*/
  505. /*No:FORMAL_GENERIC_LIST.count*/
  506.  
  507.  
  508. void r76make(T76* C,T0* a1,T0* a2){
  509. T0* _fga=NULL;
  510. T2 _i=0;
  511. T2 _rank=0;
  512. C->_start_position=a1;
  513. C->_list=a2;
  514. _i=(((T264*)a2))->_upper/*8*/;
  515. while (!((_i)==(0))) {
  516. _fga=r264item(((T264*)a2),_i);
  517. _rank=r76index_of(C,(((T263*)_fga))->_name/*0*/);
  518. /*[IF*/
  519. if((_rank)!=(_i)){
  520. r37add_position(/*(IRF4.6start_position*/(((T49*)(((T263*)(r264item(((T264*)a2),_rank)))->_name/*0*/)))->_start_position/*4*//*)*/);
  521. r37add_position(/*(IRF4.6start_position*/(((T49*)((((T263*)_fga))->_name/*0*/)))->_start_position/*4*//*)*/);
  522. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms76_178923);
  523. r37fatal_error((T37*)(oBC11eh),b1);
  524. }/*]*/
  525. }
  526. /*FI]*/
  527. _i=(_i)-(1);
  528. }
  529. }
  530.  
  531.  
  532. void r76pretty_print(T76* C){
  533. T2 _i=0;
  534. r310put_character((T310*)(oBC11fmt),'\133');
  535. r310level_incr((T310*)(oBC11fmt));
  536. _i=1;
  537. while (!((_i)>(((T264*)((C)->_list/*4*/))->_upper/*8*/))) {
  538. r263pretty_print((T263*)(r264item((T264*)((C)->_list/*4*/),_i)));
  539. _i=(_i)+(1);
  540. /*[IF*/
  541. if((_i)<=(((T264*)((C)->_list/*4*/))->_upper/*8*/)){
  542. r310put_string((T310*)(oBC11fmt),((T0*)ms76_45));
  543. }
  544. /*FI]*/
  545. }
  546. r310put_character((T310*)(oBC11fmt),'\135');
  547. r310level_decr((T310*)(oBC11fmt));
  548. }
  549.  
  550.  
  551. T2 r76index_of(T76* C,T0* a1){
  552. T2 R=0;
  553. T0* _to_string=NULL;
  554. _to_string=(((T49*)a1))->_to_string/*0*/;
  555. R=((T264*)((C)->_list/*4*/))->_upper/*8*/;
  556. while (!(((R)==(0))||((_to_string)==((void*)(((T49*)(((T263*)(r264item((T264*)((C)->_list/*4*/),R)))->_name/*0*/))->_to_string/*0*/))))) {
  557. R=(R)-(1);
  558. }
  559. return R;
  560. }
  561. /*No:FORMAL_GENERIC_LIST.list*/
  562. /*No:FORMAL_GENERIC_LIST.fatal_error*/
  563. /*No:CST_ATT_BIT.base_class*/
  564. /*No:CST_ATT_BIT.value_mem*/
  565.  
  566.  
  567. T0* r194start_position(T194* C){
  568. T0* R=NULL;
  569. R=X65start_position(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
  570. return R;
  571. }
  572.  
  573.  
  574. T6 r194is_merge_with(T194* C,T0* a1,T0* a2){
  575. T6 R=0;
  576. R=1;
  577. /*[IF*/
  578. if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
  579. /*[IF*/
  580. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
  581. R=0;
  582. }
  583. /*FI]*/
  584. }
  585. /*FI]*/
  586. /*[IF*/
  587. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
  588. /*[IF*/
  589. {/*AT*/R=0;
  590. }
  591. /*FI]*/
  592. }
  593. /*FI]*/
  594. /*[IF*/
  595. if(R){
  596. /*[IF*/
  597. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  598. R=X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2);
  599. }
  600. /*FI]*/
  601. /*[IF*/
  602. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  603. R=r171is_a_in((T171*)(/*(IRF4.1arguments*/NULL/*)*/),X75arguments(a1),a2);
  604. }
  605. /*FI]*/
  606. /*[IF*/
  607. if(!(R)){
  608. R=1;
  609. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
  610. /*]*/
  611. /*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
  612. /*]*/
  613. /*]*/
  614. /*[IF*/
  615. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  616. R=X62is_a_in(X75result_type(a1),(C)->_result_type/*20*/,a2);
  617. }
  618. /*FI]*/
  619. /*[IF*/
  620. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  621. R=r171is_a_in((T171*)(X75arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
  622. }
  623. /*FI]*/
  624. }
  625. /*FI]*/
  626. }
  627. /*FI]*/
  628. /*[IF*/
  629. if(R){
  630. r194merge_header_comments(C,a1);
  631. }
  632. /*FI]*/
  633. return R;
  634. }
  635. /*No:CST_ATT_BIT.first_name*/
  636. /*No:CST_ATT_BIT.em1*/
  637. /*No:CST_ATT_BIT.header_comment*/
  638.  
  639.  
  640. void r194pretty_print_profile(T194* C){
  641. r194pretty_print_names(C);
  642. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
  643. /*]*/
  644. /*[IRF3.1pretty_print_arguments*//*]*/
  645. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
  646. /*]*/
  647. /*[IF*/
  648. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  649. r310put_string((T310*)(oBC11fmt),((T0*)ms75_186));
  650. X62pretty_print((C)->_result_type/*20*/);
  651. }
  652. /*FI]*/
  653. }
  654. /*No:CST_ATT_BIT.names*/
  655. /*No:CST_ATT_BIT.result_type*/
  656. /*No:CST_ATT_BIT.code_require*/
  657. /*No:CST_ATT_BIT.make_e_feature*/
  658.  
  659.  
  660. void r194add_into(T194* C,T0* a1){
  661. T0* _fn=NULL;
  662. T2 _i=0;
  663. C->_base_class=r39base_class((T39*)(X65start_position(r67item((T67*)((C)->_names/*8*/),1))));
  664. _i=1;
  665. while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
  666. _fn=r67item((T67*)((C)->_names/*8*/),_i);
  667. /*[IF*/
  668. if(r74has(((T74*)a1),X65to_key(_fn))){
  669. _fn=/*X75first_name*/((T0*)/*(IRF4.6first_name*/r67item(((T67*)(((T183*)(r74at(((T74*)a1),X65to_key(_fn))))->_names/*8*/)),1)/*)*/);
  670. r37add_position(X65start_position(_fn));
  671. r37add_position(X65start_position(r67item((T67*)((C)->_names/*8*/),_i)));
  672. r37error((T37*)(oBC11eh),((T0*)ms75_41905));
  673. /*[IRF3.6append*/{T0* b1=X65to_string(_fn);
  674. r7append((T7*)(oBC37explanation),b1);
  675. }/*]*/
  676. r37error((T37*)(oBC11eh),((T0*)ms12_47));
  677. }
  678. else{
  679. r74put(((T74*)a1),(T0*)C,X65to_key(_fn));
  680. }
  681. /*FI]*/
  682. _i=(_i)+(1);
  683. }
  684. }
  685.  
  686.  
  687. T6 r194can_hide(T194* C,T0* a1,T0* a2){
  688. T6 R=0;
  689. /*[IF*/
  690. if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
  691. /*[IF*/
  692. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
  693. r37add_position(X75start_position(a1));
  694. r194error(r194start_position(C),((T0*)ms75_64647));
  695. }
  696. /*FI]*/
  697. }
  698. /*FI]*/
  699. /*[IF*/
  700. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
  701. /*[IF*/
  702. {/*AT*/r37add_position(X75start_position(a1));
  703. r194error(r194start_position(C),((T0*)ms75_83182));
  704. }
  705. /*FI]*/
  706. }
  707. /*FI]*/
  708. /*[IF*/
  709. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  710. /*[IF*/
  711. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  712. /*[IF*/
  713. if(!(X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2))){
  714. /*[IRF3.6append*/{T0* b1=((T0*)ms75_54285);
  715. r7append((T7*)(oBC37explanation),b1);
  716. }/*]*/
  717. /*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
  718. r7append((T7*)(oBC37explanation),b1);
  719. }/*]*/
  720. r37error((T37*)(oBC11eh),((T0*)ms12_47));
  721. }
  722. /*FI]*/
  723. }
  724. /*FI]*/
  725. }
  726. /*FI]*/
  727. /*[IF*/
  728. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  729. /*[IF*/
  730. /*AF*//*AE*/
  731. /*FI]*/
  732. }
  733. /*FI]*/
  734. R=(/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
  735. /*[IF*/
  736. if(R){
  737. r194merge_header_comments(C,a1);
  738. }
  739. /*FI]*/
  740. return R;
  741. }
  742. /*No:CST_ATT_BIT.ensure_assertion*/
  743.  
  744.  
  745. T0* r194try_to_undefine(T194* C,T0* a1,T0* a2){
  746. T0* R=NULL;
  747. T0* _fn2=NULL;
  748. r37add_position(X65start_position(a1));
  749. _fn2=r67feature_name((T67*)((C)->_names/*8*/),X65to_key(a1));
  750. /*[IF*/
  751. if((_fn2)!=((void*)(NULL))){
  752. X65undefine_in(_fn2,a2);
  753. }
  754. /*FI]*/
  755. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
  756. /*]*/
  757. /*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
  758. /*]*/
  759. /*]*/
  760. R=r194try_to_undefine_aux(C,a1,a2);
  761. /*[IF*/
  762. if((R)!=((void*)(NULL))){
  763. /*X269set_clients*//*[IRF3.3set_clients*/((((T272*)(((T272*)R))))->_clients)=((C)->_clients/*16*/);
  764. /*]*/
  765. r194merge_header_comments(C,R);
  766. }
  767. else{
  768. r41fatal_undefine(((T41*)a2),a1);
  769. }
  770. /*FI]*/
  771. return R;
  772. }
  773. /*No:CST_ATT_BIT.is_deferred*/
  774. /*No:CST_ATT_BIT.set_clients*/
  775. /*No:CST_ATT_BIT.value*/
  776. /*No:CST_ATT_BIT.nb_errors*/
  777.  
  778.  
  779. T0* r194to_run_feature(T194* C,T0* a1,T0* a2){
  780. T0* R=NULL;
  781. T0* _rc=NULL;
  782. _rc=X62run_class(a1);
  783. R=r313at(((T313*)_rc),a2);
  784. if(NULL!=(R))switch(((T0*)R)->id) {
  785. case 325: 
  786. break;
  787. default:
  788. R=NULL;
  789. };/*[IF*/
  790. if((R)==((void*)(NULL))){
  791. {T325*n=malloc(sizeof(*n));
  792. *n=M325;
  793. r325make(n,a1,a2,(T0*)C);
  794. R=(T0*)n;
  795. }
  796. }
  797. /*FI]*/
  798. return R;
  799. }
  800.  
  801.  
  802. void r194merge_header_comments(T194* C,T0* a1){
  803. /*[IF*/
  804. if(((T42*)(oBC11small_eiffel))->_short_flag/*0*/){
  805. /*[IF*/
  806. if(((C)->_header_comment/*12*/)==((void*)(NULL))){
  807. C->_header_comment=/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/);
  808. }
  809.  else if((/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  810. X75set_header_comment(a1,(C)->_header_comment/*12*/);
  811. }
  812. /*FI]*/
  813. }
  814. /*FI]*/
  815. }
  816. /*No:CST_ATT_BIT.arguments*/
  817. /*No:CST_ATT_BIT.require_assertion*/
  818. /*No:CST_ATT_BIT.pretty_print_arguments*/
  819.  
  820.  
  821. T0* r194try_to_undefine_aux(T194* C,T0* a1,T0* a2){
  822. T0* R=NULL;
  823. r37add_position(r194start_position(C));
  824. r194error(X65start_position(a1),((T0*)ms185_99414));
  825. r41fatal_undefine(((T41*)a2),a1);
  826. return R;
  827. }
  828. /*No:CST_ATT_BIT.fz_dot*/
  829.  
  830.  
  831. void r194error(T0* a1,T0* a2){
  832. r37add_position(a1);
  833. r37error((T37*)(oBC11eh),a2);
  834. }
  835.  
  836.  
  837. void r194make(T194* C,T0* a1,T0* a2,T0* a3){
  838. /*[IRF3.3make_e_feature*/((((T194*)(C)))->_names)=(a1);
  839. /*]*/
  840. C->_result_type=a2;
  841. C->_value_mem=a3;
  842. }
  843.  
  844.  
  845. void r194pretty_print_names(T194* C){
  846. T2 _i=0;
  847. _i=1;
  848. X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
  849. _i=(_i)+(1);
  850. while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
  851. r310put_string((T310*)(oBC11fmt),((T0*)ms75_158));
  852. X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
  853. _i=(_i)+(1);
  854. }
  855. }
  856.  
  857.  
  858. void r194pretty_print(T194* C){
  859. r194pretty_print_profile(C);
  860. r194pretty_tail(C);
  861. r310put_character((T310*)(oBC11fmt),'\73');
  862. /*[IF*/
  863. if(((C)->_header_comment/*12*/)!=((void*)(NULL))){
  864. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
  865. /*]*/
  866. r310indent((T310*)(oBC11fmt));
  867. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
  868. /*]*/
  869. r64pretty_print((T64*)((C)->_header_comment/*12*/));
  870. }
  871. else{
  872. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
  873. /*]*/
  874. }
  875. /*FI]*/
  876. }
  877.  
  878.  
  879. void r194collect_for(T2 a1){
  880. T0* _er=NULL;
  881. /*[IF*/
  882. if((a1)==(1)){
  883. _er=/*(IRF4.1require_assertion*/NULL/*)*/;
  884. /*[IF*/
  885. if((_er)!=((void*)(NULL))){
  886. /*[IF*/
  887. if(!(r332fast_has((T332*)(oBC75require_collector),_er))){
  888. r332add_last((T332*)(oBC75require_collector),_er);
  889. }
  890. /*FI]*/
  891. }
  892. /*FI]*/
  893. }
  894. else{
  895. /*[IF*/
  896. /*AF*//*AE*/
  897. /*FI]*/
  898. }
  899. /*FI]*/
  900. }
  901. /*No:CST_ATT_BIT.set_header_comment*/
  902.  
  903.  
  904. void r194pretty_tail(T194* C){
  905. r310put_string((T310*)(oBC11fmt),((T0*)ms184_1176));
  906. r156pretty_print((T156*)(/*(IRF4.3value*/(C)->_value_mem/*24*//*)*/));
  907. }
  908. /*No:CST_ATT_BIT.clients*/
  909.  
  910.  
  911. T0* r282language_name(void){
  912. T0* R=NULL;
  913. R=((T0*)ms12_66440);
  914. return R;
  915. }
  916. /*No:NATIVE_INLINE_WITHOUT_CURRENT.fz_c_inlinewithoutcurrent*/
  917. /*No:NATIVE_INLINE_WITHOUT_CURRENT.pretty_print*/
  918. /*No:RUN_REQUIRE.make*/
  919. /*No:RUN_REQUIRE.list*/
  920. /*No:CALL_INFIX_DIV.feature_name*/
  921. /*No:CALL_INFIX_DIV.right_brackets*/
  922.  
  923.  
  924. T0* r116start_position(T116* C){
  925. T0* R=NULL;
  926. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  927. return R;
  928. }
  929.  
  930.  
  931. T0* r116add_comment(T116* C,T0* a1){
  932. T0* R=NULL;
  933. /*[IF*/
  934. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  935. R=(T0*)C;
  936. }
  937. else{
  938. {T214*n=malloc(sizeof(*n));
  939. *n=M214;
  940. r214make(n,(T0*)C,a1);
  941. R=(T0*)n;
  942. }
  943. }
  944. /*FI]*/
  945. return R;
  946. }
  947.  
  948.  
  949. T2 r116to_integer(T116* C){
  950. T2 R=0;
  951. r116error(r116start_position(C),((T0*)ms12_45846));
  952. return R;
  953. }
  954.  
  955.  
  956. void r116bracketed_pretty_print(T116* C){
  957. r310put_character((T310*)(oBC11fmt),'\50');
  958. r116pretty_print(C);
  959. r310put_character((T310*)(oBC11fmt),'\51');
  960. }
  961.  
  962.  
  963. void r116print_op(T116* C){
  964. r310put_character((T310*)(oBC11fmt),'\40');
  965. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  966. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  967. }/*]*/
  968. r310put_character((T310*)(oBC11fmt),'\40');
  969. }
  970.  
  971.  
  972. T0* r116to_runnable(T116* C,T0* a1){
  973. T0* R=NULL;
  974. T0* _rf=NULL;
  975. T0* _tbee=NULL;
  976. T0* _at=NULL;
  977. T0* _tt=NULL;
  978. T0* _a=NULL;
  979. T0* _t=NULL;
  980. _t=r116runnable_expression((C)->_target/*4*/,a1);
  981. _a=r116runnable_args((C)->_arguments/*8*/,a1);
  982. _tt=X89result_type(_t);
  983. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  984. /*[IF*/
  985. {/*AT*//*[IF*/
  986. if(X62is_real(_at)){
  987. /*[IF*/
  988. if(X62is_integer(_tt)){
  989. _tbee=X62run_type(_at);
  990. if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
  991. case 254: case 252: case 250: case 251: case 255: case 248: 
  992. break;
  993. default:
  994. _tbee=NULL;
  995. };{T359*n=malloc(sizeof(*n));
  996. *n=M359;
  997. r359make(n,_t,_tbee);
  998. _t=(T0*)n;
  999. }
  1000. }
  1001. /*FI]*/
  1002. }
  1003.  else if(X62is_double(_at)){
  1004. /*[IF*/
  1005. if((X62is_integer(_tt))||(X62is_real(_tt))){
  1006. _tbee=X62run_type(_at);
  1007. if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
  1008. case 254: case 252: case 250: case 251: case 255: case 248: 
  1009. break;
  1010. default:
  1011. _tbee=NULL;
  1012. };{T359*n=malloc(sizeof(*n));
  1013. *n=M359;
  1014. r359make(n,_t,_tbee);
  1015. _t=(T0*)n;
  1016. }
  1017. }
  1018. /*FI]*/
  1019. }
  1020. /*FI]*/
  1021. }
  1022. /*FI]*/
  1023. _rf=r116run_feature_for(C,_t,a1);
  1024. /*[IF*/
  1025. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  1026. C->_target=_t;
  1027. C->_arguments=_a;
  1028. C->_run_feature=_rf;
  1029. r116run_feature_match(C,a1);
  1030. R=(T0*)C;
  1031. }
  1032.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  1033. R=(T0*)C;
  1034. }
  1035. else{
  1036. {T116*n=malloc(sizeof(*n));
  1037. *n=M116;
  1038. r116with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  1039. R=(T0*)n;
  1040. }
  1041. }
  1042. /*FI]*/
  1043. return R;
  1044. }
  1045. /*No:CALL_INFIX_DIV.us_slash*/
  1046. /*No:CALL_INFIX_DIV.fz_bad_argument*/
  1047. /*No:CALL_INFIX_DIV.fz_iinaiv*/
  1048.  
  1049.  
  1050. T0* r116result_type(T116* C){
  1051. T0* R=NULL;
  1052. T0* _tla=NULL;
  1053. R=X312result_type((C)->_run_feature/*16*/);
  1054. /*[IF*/
  1055. if(X62is_like_current(R)){
  1056. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  1057. }
  1058. else{
  1059. _tla=R;
  1060. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1061. case 242: 
  1062. break;
  1063. default:
  1064. _tla=NULL;
  1065. };/*[IF*/
  1066. if((_tla)!=((void*)(NULL))){
  1067. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  1068. }
  1069. /*FI]*/
  1070. }
  1071. /*FI]*/
  1072. return R;
  1073. }
  1074. /*No:CALL_INFIX_DIV.run_feature*/
  1075.  
  1076.  
  1077. T0* r116runnable_args(T0* a1,T0* a2){
  1078. T0* R=NULL;
  1079. R=r132to_runnable(((T132*)a1),a2);
  1080. /*[IF*/
  1081. if((R)==((void*)(NULL))){
  1082. r37add_position(r132start_position(((T132*)a1)));
  1083. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  1084. r37fatal_error((T37*)(oBC11eh),b1);
  1085. }/*]*/
  1086. }
  1087. /*FI]*/
  1088. return R;
  1089. }
  1090.  
  1091.  
  1092. void r116with(T116* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1093. C->_target=a1;
  1094. C->_feature_name=a2;
  1095. C->_arguments=a3;
  1096. C->_run_feature=a4;
  1097. r116run_feature_match(C,a5);
  1098. }
  1099. /*No:CALL_INFIX_DIV.fatal_error*/
  1100.  
  1101.  
  1102. void r116run_feature_match(T116* C,T0* a1){
  1103. r116run_feature_has_result(C);
  1104. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  1105. }
  1106. /*No:CALL_INFIX_DIV.arguments*/
  1107.  
  1108.  
  1109. T0* r116runnable_expression(T0* a1,T0* a2){
  1110. T0* R=NULL;
  1111. R=X89to_runnable(a1,a2);
  1112. /*[IF*/
  1113. if((R)==((void*)(NULL))){
  1114. r37add_position(X89start_position(a1));
  1115. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  1116. r37fatal_error((T37*)(oBC11eh),b1);
  1117. }/*]*/
  1118. }
  1119. /*FI]*/
  1120. return R;
  1121. }
  1122. /*No:CALL_INFIX_DIV.left_brackets*/
  1123. /*No:CALL_INFIX_DIV.implicit_cast*/
  1124.  
  1125.  
  1126. void r116print_as_target(T116* C){
  1127. r310put_character((T310*)(oBC11fmt),'\50');
  1128. r116pretty_print(C);
  1129. r310put_character((T310*)(oBC11fmt),'\51');
  1130. r310put_character((T310*)(oBC11fmt),'\56');
  1131. }
  1132. /*No:CALL_INFIX_DIV.arg1*/
  1133.  
  1134.  
  1135. void r116run_feature_has_result(T116* C){
  1136. /*[IF*/
  1137. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  1138. r37add_position(X312start_position((C)->_run_feature/*16*/));
  1139. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1140. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  1141. r37fatal_error((T37*)(oBC11eh),b1);
  1142. }/*]*/
  1143. }
  1144. /*FI]*/
  1145. }
  1146.  
  1147.  
  1148. T0* r116run_feature_for(T116* C,T0* a1,T0* a2){
  1149. T0* R=NULL;
  1150. T0* _rc=NULL;
  1151. _rc=X62run_class(X89result_type(a1));
  1152. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  1153. return R;
  1154. }
  1155. /*No:CALL_INFIX_DIV.target*/
  1156.  
  1157.  
  1158. void r116error(T0* a1,T0* a2){
  1159. r37add_position(a1);
  1160. r37error((T37*)(oBC11eh),a2);
  1161. }
  1162. /*No:CALL_INFIX_DIV.precedence*/
  1163.  
  1164.  
  1165. void r116make(T116* C,T0* a1,T0* a2,T0* a3){
  1166. C->_target=a1;
  1167. {T121*n=malloc(sizeof(*n));
  1168. *n=M121;
  1169. r121make(n,r116operator(),a2);
  1170. C->_feature_name=(T0*)n;
  1171. }
  1172. {T132*n=malloc(sizeof(*n));
  1173. *n=M132;
  1174. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  1175. /*]*/
  1176. C->_arguments=(T0*)n;
  1177. }
  1178. }
  1179. /*No:CALL_INFIX_DIV.is_current*/
  1180.  
  1181.  
  1182. void r116pretty_print(T116* C){
  1183. /*[IF*/
  1184. if((X89precedence((C)->_target/*4*/))==(13)){
  1185. X89pretty_print((C)->_target/*4*/);
  1186. }
  1187.  else if((8)>(X89precedence((C)->_target/*4*/))){
  1188. X89bracketed_pretty_print((C)->_target/*4*/);
  1189. }
  1190.  else if((8)<(X89precedence((C)->_target/*4*/))){
  1191. X89pretty_print((C)->_target/*4*/);
  1192. }
  1193. /*AF*/else{
  1194. X89pretty_print((C)->_target/*4*/);
  1195. }
  1196. /*FI]*/
  1197. r116print_op(C);
  1198. /*[IF*/
  1199. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  1200. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1201. }
  1202.  else if((8)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1203. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1204. }
  1205.  else if((8)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1206. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1207. }
  1208.  else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1209. }
  1210. /*FI]*/
  1211. }
  1212. /*No:CALL_INFIX_DIV.is_void*/
  1213.  
  1214.  
  1215. T0* r116operator(void){
  1216. T0* R=NULL;
  1217. R=((T0*)ms13_48);
  1218. return R;
  1219. }
  1220. /*No:CALL_INFIX_DIV.atomic_precedence*/
  1221. /*No:LOCAL_NAME1.is_used*/
  1222. /*No:LOCAL_NAME1.start_position*/
  1223. /*No:LOCAL_NAME1.to_string*/
  1224.  
  1225.  
  1226. T0* r167twin(T167* C){
  1227. T0* R=NULL;
  1228. R=malloc(sizeof(*C));
  1229. *((T167*)R)=*C;
  1230. return R;
  1231. }
  1232.  
  1233.  
  1234. T0* r167add_comment(T167* C,T0* a1){
  1235. T0* R=NULL;
  1236. /*[IF*/
  1237. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  1238. R=(T0*)C;
  1239. }
  1240. else{
  1241. {T214*n=malloc(sizeof(*n));
  1242. *n=M214;
  1243. r214make(n,(T0*)C,a1);
  1244. R=(T0*)n;
  1245. }
  1246. }
  1247. /*FI]*/
  1248. return R;
  1249. }
  1250. /*No:LOCAL_NAME1.name_clash*/
  1251.  
  1252.  
  1253. T2 r167to_integer(T167* C){
  1254. T2 R=0;
  1255. r167error((C)->_start_position/*4*/,((T0*)ms12_45846));
  1256. return R;
  1257. }
  1258.  
  1259.  
  1260. void r167print_as_target(T167* C){
  1261. r310put_string((T310*)(oBC11fmt),(C)->_to_string/*8*/);
  1262. r310put_character((T310*)(oBC11fmt),'\56');
  1263. }
  1264. /*No:LOCAL_NAME1.rank*/
  1265. /*No:LOCAL_NAME1.bracketed_pretty_print*/
  1266.  
  1267.  
  1268. T0* r167to_runnable(T167* C,T0* a1){
  1269. T0* R=NULL;
  1270. T0* _rt=NULL;
  1271. _rt=X62to_runnable((C)->_result_type/*12*/,a1);
  1272. /*[IF*/
  1273. if((_rt)==((void*)(NULL))){
  1274. r37add_position(X62start_position((C)->_result_type/*12*/));
  1275. r167error((C)->_start_position/*4*/,((T0*)ms167_24548));
  1276. }
  1277. /*FI]*/
  1278. /*[IF*/
  1279. if((_rt)==((void*)((C)->_result_type/*12*/))){
  1280. R=(T0*)C;
  1281. }
  1282. else{
  1283. R=r167twin(C);
  1284. /*[IRF3.3set_result_type*/((((T167*)(((T167*)R))))->_result_type)=(_rt);
  1285. /*]*/
  1286. }
  1287. /*FI]*/
  1288. return R;
  1289. }
  1290.  
  1291.  
  1292. T0* r167written_in(T167* C){
  1293. T0* R=NULL;
  1294. T0* _sp=NULL;
  1295. _sp=(C)->_start_position/*4*/;
  1296. /*[IF*/
  1297. if((_sp)!=((void*)(NULL))){
  1298. R=(((T39*)_sp))->_base_class_name/*0*/;
  1299. }
  1300. /*FI]*/
  1301. return R;
  1302. }
  1303. /*No:LOCAL_NAME1.fz_iinaiv*/
  1304. /*No:LOCAL_NAME1.set_result_type*/
  1305.  
  1306.  
  1307. void r167name_clash_for(T167* C,T0* a1,T0* a2){
  1308. T0* _bc=NULL;
  1309. T0* _rc=NULL;
  1310. T0* _rf=NULL;
  1311. _bc=r167base_class_written(C);
  1312. /*[IF*/
  1313. if(r41has_simple_feature_name(((T41*)_bc),(C)->_to_string/*8*/)){
  1314. _rc=X62run_class(a1);
  1315. _rf=r313get_feature_with(((T313*)_rc),(C)->_to_string/*8*/);
  1316. /*[IF*/
  1317. if((_rf)!=((void*)(NULL))){
  1318. r37add_position(X312start_position(_rf));
  1319. }
  1320. /*FI]*/
  1321. r167error((C)->_start_position/*4*/,a2);
  1322. }
  1323. /*FI]*/
  1324. }
  1325. /*No:LOCAL_NAME1.result_type*/
  1326.  
  1327.  
  1328. void r167error(T0* a1,T0* a2){
  1329. r37add_position(a1);
  1330. r37error((T37*)(oBC11eh),a2);
  1331. }
  1332. /*No:LOCAL_NAME1.set_rank*/
  1333. /*No:LOCAL_NAME1.precedence*/
  1334.  
  1335.  
  1336. void r167make(T167* C,T0* a1,T0* a2){
  1337. C->_start_position=a1;
  1338. C->_to_string=r66item(a2);
  1339. }
  1340. /*No:LOCAL_NAME1.is_current*/
  1341. /*No:LOCAL_NAME1.set_is_used*/
  1342. /*No:LOCAL_NAME1.pretty_print*/
  1343. /*No:LOCAL_NAME1.is_void*/
  1344.  
  1345.  
  1346. T0* r167base_class_written(T167* C){
  1347. T0* R=NULL;
  1348. R=r49base_class((T49*)(r167written_in(C)));
  1349. return R;
  1350. }
  1351. /*No:LOCAL_NAME1.atomic_precedence*/
  1352. /*No:EXPORT_LIST.start_position*/
  1353. /*No:EXPORT_LIST.items*/
  1354.  
  1355.  
  1356. T0* r302clients_for(T302* C,T0* a1){
  1357. T0* R=NULL;
  1358. T0* _ei=NULL;
  1359. T2 _i=0;
  1360. _i=((T303*)((C)->_items/*4*/))->_upper/*8*/;
  1361. while (!((_i)==(0))) {
  1362. _ei=r303item((T303*)((C)->_items/*4*/),_i);
  1363. /*[IF*/
  1364. if(r301affect(((T301*)_ei),a1)){
  1365. /*[IF*/
  1366. if((R)==((void*)(NULL))){
  1367. R=(((T301*)_ei))->_clients/*0*/;
  1368. }
  1369. else{
  1370. R=r83merge_with(((T83*)R),(((T301*)_ei))->_clients/*0*/);
  1371. }
  1372. /*FI]*/
  1373. }
  1374. /*FI]*/
  1375. _i=(_i)-(1);
  1376. }
  1377. return R;
  1378. }
  1379.  
  1380.  
  1381. void r302make(T302* C,T0* a1,T0* a2){
  1382. C->_start_position=a1;
  1383. C->_items=a2;
  1384. }
  1385.  
  1386.  
  1387. void r302pretty_print(T302* C){
  1388. T2 _i=0;
  1389. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
  1390. /*]*/
  1391. r310indent((T310*)(oBC11fmt));
  1392. r310keyword((T310*)(oBC11fmt),((T0*)ms302_7614));
  1393. _i=1;
  1394. while (!((_i)>(((T303*)((C)->_items/*4*/))->_upper/*8*/))) {
  1395. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
  1396. /*]*/
  1397. r301pretty_print((T301*)(r303item((T303*)((C)->_items/*4*/),_i)));
  1398. _i=(_i)+(1);
  1399. /*[IF*/
  1400. if((_i)<=(((T303*)((C)->_items/*4*/))->_upper/*8*/)){
  1401. r310put_character((T310*)(oBC11fmt),'\73');
  1402. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
  1403. /*]*/
  1404. r310indent((T310*)(oBC11fmt));
  1405. }
  1406. /*FI]*/
  1407. }
  1408. }
  1409.  
  1410.